// pages/lc_todo/lc_todo.js

const AV = require("../../utils/av-weapp-min.js");
const Todo = require("../../models/todo.js");
Page({

  /**
   * 页面的初始数据
   */
  data: {
    draft : '',
    creator : '',
    todos : [],
  },
  updateDraft : function({
    detail : {
      value
    }
  }){
    // console.log(value);
    this.setData({
      draft : value
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

    new AV.Query(Todo)
    .find()
    .then(todos => this.setData({todos}))
    .catch(console.log);
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
  
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
  
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  },
  onClick : function(e) {
    if (!this.data.draft || this.data.draft.length < 0) {
      wx.showToast({
        title: '请输入todo内容',
      })
      return;
      }
    let userName = AV.User._currentUser.attributes.nickName;
    console.log("onReady------->", userName);
    new Todo({
      content : this.data.draft,
      creator: userName
    }).save()
    .then((data)=>{
      console.log
      this.setData({
        draft : ''
      });
      this.doRefresh();
    })
    .catch(console.error);
  },
  
  doRefresh : function() {
    wx.showLoading({
      title: '刷新中...',
    })
    new AV.Query(Todo)
      .find()
      .then(todos => {
        wx.hideLoading();
        this.setData({ todos })
      })
      .catch((error)=>{
        console.log
        wx.hideLoading();
        });
  },

  onRemove : function(e) {
    let index = e.currentTarget.dataset.index;
    console.log('onRemove----->', this.data.todos[index]);
    let objId = this.data.todos[index].id;
    let creator = "删除? "+this.data.todos[index].attributes.creator;
    let content = this.data.todos[index].attributes.content;
    let that = this;
    wx.showModal({
      title: creator,
      content: content,
      success : function(res) {
        if (res.confirm) {
          let todo = AV.Object.createWithoutData('Todo', objId);
          todo.destroy().then((success) => {
            // 删除成功
            that.doRefresh();
          }, function (error) {
            // 删除失败
          });
        }
      }
    })

    
  }
})